package com.tansun.easycare.rule.decisiontree.entity;

import org.hibernate.validator.constraints.Length;

import com.tansun.easycare.rule.common.entity.RuleBaseEntity;

/**
 * 节点条件Entity
 *
 * @author lixs
 * @version 2017-03-08
 */
public class RuleTreeConditions extends RuleBaseEntity<RuleTreeConditions> {

    private static final long serialVersionUID = 1L;
    private String projectCode;        // 规则库编码
    private String nodeId;        // 节点ID
    private String manageId;
    private String version;        // 版本信息
    private String className;        // 数据集英文名
    private String namecn;        // 变量中文名
    private String nameen;        // 变量英文名
    private String symbol;        // 操作符
    private String leftOpt;        // 左关系符
    private String controlValue;        // 对比值
    private String rightOpt;        // 右关系符
    private String formulaLabel;        // 公式中文
    private String formula;        // 公式
    private String disabled;        // 是否有效
    private String dataType;        // 变量数据类型
    private String defaultValue;        // 变量默认值
    private String domain;        // 码值域ID
    private String pattern;
    private String position;        // 集合变量下标
    private String isDerives;        // 衍生变量
    private Integer seq;        // 序号
    /**
     * 是否函数变量
     */
    private String isfuncparam;
    private String keyId;
    private String collection;

    public RuleTreeConditions() {
        super();
    }

    public RuleTreeConditions(String id) {
        super(id);
    }

    @Length(min = 1, max = 50, message = "规则库编码长度必须介于 1 和 50 之间")
    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    @Length(min = 1, max = 50, message = "节点ID长度必须介于 1 和 50 之间")
    public String getNodeId() {
        return nodeId;
    }

    public void setNodeId(String nodeId) {
        this.nodeId = nodeId;
    }

    @Length(min = 0, max = 10, message = "版本信息长度必须介于 0 和 10 之间")
    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    @Length(min = 1, max = 50, message = "数据集英文名长度必须介于 1 和 50 之间")
    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    @Length(min = 1, max = 50, message = "变量中文名长度必须介于 1 和 50 之间")
    public String getNamecn() {
        return namecn;
    }

    public void setNamecn(String namecn) {
        this.namecn = namecn;
    }

    @Length(min = 0, max = 50, message = "变量英文名长度必须介于 0 和 50 之间")
    public String getNameen() {
        return nameen;
    }

    public void setNameen(String nameen) {
        this.nameen = nameen;
    }

    @Length(min = 0, max = 10, message = "操作符长度必须介于 0 和 10 之间")
    public String getSymbol() {
        return symbol;
    }

    public void setSymbol(String symbol) {
        this.symbol = symbol;
    }

    @Length(min = 1, max = 50, message = "左关系符长度必须介于 1 和 50 之间")
    public String getLeftOpt() {
        return leftOpt;
    }

    public void setLeftOpt(String leftOpt) {
        this.leftOpt = leftOpt;
    }

    @Length(min = 0, max = 100, message = "对比值长度必须介于 0 和 100 之间")
    public String getControlValue() {
        return controlValue;
    }

    public void setControlValue(String controlValue) {
        this.controlValue = controlValue;
    }

    @Length(min = 0, max = 50, message = "右关系符长度必须介于 0 和 50 之间")
    public String getRightOpt() {
        return rightOpt;
    }

    public void setRightOpt(String rightOpt) {
        this.rightOpt = rightOpt;
    }

    @Length(min = 0, max = 200, message = "公式中文长度必须介于 0 和 200 之间")
    public String getFormulaLabel() {
        return formulaLabel;
    }

    public void setFormulaLabel(String formulaLabel) {
        this.formulaLabel = formulaLabel;
    }

    @Length(min = 0, max = 200, message = "公式长度必须介于 0 和 200 之间")
    public String getFormula() {
        return formula;
    }

    public void setFormula(String formula) {
        this.formula = formula;
    }

    @Length(min = 0, max = 10, message = "是否有效长度必须介于 0 和 10 之间")
    public String getDisabled() {
        return disabled;
    }

    public void setDisabled(String disabled) {
        this.disabled = disabled;
    }

    @Length(min = 0, max = 50, message = "变量数据类型长度必须介于 0 和 50 之间")
    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }

    @Length(min = 0, max = 50, message = "变量默认值长度必须介于 0 和 50 之间")
    public String getDefaultValue() {
        return defaultValue;
    }

    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }

    @Length(min = 0, max = 50, message = "码值域ID长度必须介于 0 和 50 之间")
    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    @Length(min = 0, max = 11, message = "集合变量下标长度必须介于 0 和 11 之间")
    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    @Length(min = 0, max = 10, message = "衍生变量长度必须介于 0 和 10 之间")
    public String getIsDerives() {
        return isDerives;
    }

    public void setIsDerives(String isDerives) {
        this.isDerives = isDerives;
    }

    @Length(min = 0, max = 11, message = "序号长度必须介于 0 和 11 之间")
    public Integer getSeq() {
        return seq;
    }

    public void setSeq(Integer seq) {
        this.seq = seq;
    }

    public String getKeyId() {
        return keyId;
    }

    public void setKeyId(String keyId) {
        this.keyId = keyId;
    }

    public String getManageId() {
        return manageId;
    }

    public void setManageId(String manageId) {
        this.manageId = manageId;
    }

    public String getPattern() {
        return pattern;
    }

    public void setPattern(String pattern) {
        this.pattern = pattern;
    }

    public String getCollection() {
        return collection;
    }

    public void setCollection(String collection) {
        this.collection = collection;
    }

	public String getIsfuncparam() {
		return isfuncparam;
	}

	public void setIsfuncparam(String isfuncparam) {
		this.isfuncparam = isfuncparam;
	}
}